package com.qss.service;

import com.github.pagehelper.PageInfo;
import com.qs.commen.Response;
import com.qs.pojo.SysUser;
import com.qs.pojo.vo.NavMenu;
import com.qs.pojo.vo.UserVO;

import java.util.List;

public interface UserService {
    /**
     * 根据提示查询用户 返回状态
     * @param user
     * @return
     */
    Response checkLogin(SysUser user);

    /**
     * 根据查询条件分页
     * @param user 查询条件
     * @param pageNum 页码
     * @param pageSize 每页条数
     * @return 列表
     */
    PageInfo<SysUser> queryUsers(UserVO user, Integer pageNum, Integer pageSize);

    /**
     * 保存或者新增用户
     * @param user
     * @return
     */
    boolean saveUser(SysUser user);

    /**
     * 根据id查询用户
     * @param id
     * @return
     */
    SysUser queryUserById(Integer id);

    /**
     * 批量或者单个删除用户
     * @param ids
     * @return
     */
    boolean delUserById(Integer[] ids);

    /**
     * 根据用户名精确查询用户
     * @param loginName
     * @return
     */
    SysUser queryUserByUserName(String loginName);

    List<NavMenu> queryUserPermission(Integer roleId);

    List<String> queryUserPermissionsStr(SysUser user);
}
